package com.mall.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 商品SKU
 *
 * @author ASUS
 * @date 2021/07/18
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TbItem implements Serializable {
    /**
     *商品ID
     */
    private Long id;
    /**
     *商品名称
     */
    private String title;
    /**
     *(真实)销量
     */
    private Integer realSales;
    /**
     *虚拟销量
     */
    private Integer fakeSales;
    /**
     *库存(上架数量)
     */
    private Integer inventory;
    /**
     * 排序
     */
    private Integer sort;
    /**
     *商品状态，1-正常，2-下架，3-是否秒杀,4-删除
     */
    private String status;
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8")
    /**
     *排序
     */
    private Date createTime;

    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    /**
     * 修改时间(操作时间)
     */
    private Date updateTime;
    /**
     *是否默认
     */
    private String isDefault;
    /**
     *SPU_ID
     */
    private Long goodsId;
    /**
     *商品价格(展示)
     */
    private BigDecimal price;
    /**
     *体积
     */
    private Double bulk;

    /**
     * 商品成本价
     */
    private BigDecimal costPrice;
    /**
     * 商品积分(默认)
     */
    private Integer integral;
    /**
     * 上架数量
      */
    private Integer depotNum;
    /**
     * 重量
     */
    private Double weight;

    /**
     *  选择单规格/多规格
     */
    private Integer isSingle;

    private String images;

    /**
     * 多规格 id 对应一个商品
     */
    private String optionIds;

    /**
     *
     */
    private String optionIdList;
    /**
     * 多种规格商品列表
     */
    private List<TbItmeSpec> itmeSpecList;

    /**
     * 多规格图片设置
     */
    private String image;

    /**
     * 判断是否是批量添加
     */
    private Integer isBatch;

    /**
     * 分类查询字段
     */
    private Integer typeId;

    private String typeName;

    private TbGoods tbGoods;

}